<?php
require_once(FWK_EXCEPTION."CustonException.class.php");
require_once(BIB_ACTIVE_RECORD);
require_once(FWK_MODEL."AbsModelDao.class.php");
require_once(FWK_MODEL."Upload.class.php");
require_once(FWK_UTIL."FormataDatas.class.php");
/**
 * Classe modelo para a estrutura da sessão do noticia que estiver logado
 *
 * @author André Coura <andreccls@gmail.com>
 * @since 1.0 - 02/02/2012
 */
class Noticia extends AbsModelDao{

	public $_table = "noticias";

	public $_id = "id_noticia";

	
	public function getListaNoticias(){
		$strQuery = "SELECT
							id_noticia, DATE_FORMAT(data_noticia,'%e/%c/%Y') as data_noticia,titulo_noticia,
						  	autor_noticia, desc_noticia, img_noticia
					 FROM 
					 		".$this->_table." ORDER BY id_noticia desc ";
		$arrRet = ControlDB::getAll($strQuery,3);
		return $arrRet;
	}
	
	public function getListaGrid($limitIni=0, $numRegs=15, $count=false){
		$strQuery = "SELECT ";
		if($count){
			$strQuery.= " count(id_noticia) ";
		}else{
			$strQuery .= "id_noticia as 'Código', DATE_FORMAT(data_noticia,'%e/%c/%Y') as 'Data',titulo_noticia as 'Titulo',
						  autor_noticia as 'Autor' ";
		}
		$strQuery .= " FROM
					 		".$this->_table." ORDER BY data_noticia desc ";
		if(!$count){
			$strQuery .= " LIMIT
								".$limitIni." ,".$numRegs;
		}
		
		$arrRet = ControlDB::getAll($strQuery,3);
		return $arrRet;
	}	

	public function alterar($id=null,$post,$file){
		try{
			self::salvaPostAutoUtf8($post);
			$this->id_noticia = $id;
				
			/**
			 * UPLOAD DO ARQUIVO
			 */
			parent::uploadArquivoFwk("img_noticia", $this->id_noticia, $file, PASTA_UPLOADS_ARQUIVOS."noticia/");
				
			//campos default para todos os daos (historico de edição de arquivos)
			$this->data_noticia = date("Y-m-d H:i:s");
			self::replace();
			if(self::ErrorMsg()){
				print("<pre>");
				print_r($post);
				die("<br/><br /><h1>".self::ErrorMsg()."</h1>");
			}
		}catch(DaoException $e){
			throw new CustonException($e->getMensagem());
		}
	}
}
?>